
#  allure-pytest
"""
allure-pytest 是需要进行下载的

下载 ：pip install allure-pytest
验证 ：pip show allure-pytest
导包 ： import allure

主要的装饰器函数
@allure.epic() 史诗 项目名称
@allure.feature() 功能 功能
@allure.story() 故事 子功能
@allure.title() 标题 测试用例的标题
@allure.description() 描述 测试用例描述
@allure.step() 步骤 测试步骤
@allure.serverity() 用例等级主要包括blocker ,critical ,normal ,minor ,trivial
@allure.issue() 链接 对应缺陷管理系统里面的链接 。
@allure.link() 链接 定义一个链接 ，在测试报告中展现，比如项目链接
@allure.attach 附件 用于向测试报告中输入一些附加的信息，，通常是一些测试数据信息

使用位置 ：
@allure.step() 和@allure.attach() 函数放在函数内 ，其它函数都放在类、方法、函数的头部


生成测试报告的步骤：
1. 在测试用例中使用装饰器标注测试用例
2. 通过pytest.main()来运行 ，通过加一个--alluredir参数，就可以生成测试报告数据
3. 通过allure来将测试数据转化为HTML格式的测试报告。

"""
import pytest
import allure
import os

# 需求 ： 实现一个加法的函数
def add(x,y):
    return x + y


# case1 : 0 和 1 相加 是否正确
@allure.story("加法")
@allure.title("包含0的数进行相加")
def test_add01():
    assert 1 == add(0,1)


# case2 : 两个正数相加是否正确
@allure.story("加法")
@allure.title("两个正数的相加")
def test_add02():
    assert 7 == add(3,4) ,'断言值：{}'.format(add(3,4))


# case3 ： 含有一个负数和一个正数相加是否正确 。
@allure.story("加法")
@allure.title("一个正数和一个负数的相加")
def test_add03():
    assert 6 == add(-2,8)


if __name__ == '__main__':
    pytest.main(['-sv','demo08_pytest_allure.py','--alluredir','test_json_data1'])         # 运行当前的文件的测试用例

    cmd = "allure generate test_json_data -o report -c"

    os.system(cmd)